﻿<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>共享填表系统 - 详细使用手册</title>
<style>
body { 
    font-family: 宋体, SimSun; 
    margin: 20px; 
    background: #f5f5f5; 
    line-height: 1.6;
    font-size: 12pt;
}
.container { 
    max-width: 900px; 
    margin: 0 auto; 
    background: white; 
    padding: 30px; 
    border: 1px solid #ccc;
}
h1 { 
    color: #2c3e50; 
    border-bottom: 3px solid #3498db; 
    padding-bottom: 10px; 
    text-align: center;
    font-size: 18pt;
}
h2 { 
    color: #2980b9; 
    margin-top: 30px; 
    padding-left: 15px;
    border-left: 5px solid #3498db;
    font-size: 14pt;
}
h3 { 
    color: #34495e; 
    margin-top: 20px;
    font-size: 12pt;
}
.section { 
    margin-bottom: 25px; 
    background: #f8f9fa; 
    padding: 15px; 
    border: 1px solid #ddd;
}
.user-list { 
    background: #e8f4fc; 
    padding: 15px; 
    margin: 15px 0; 
    border-left: 4px solid #3498db;
}
.feature { 
    margin: 10px 0; 
    padding-left: 15px;
}
.note { 
    background: #fff3cd; 
    border: 1px solid #ffeaa7; 
    padding: 12px; 
    margin: 15px 0;
}
.warning { 
    background: #f8d7da; 
    border: 1px solid #f5c6cb; 
    padding: 12px; 
    margin: 15px 0;
}
.code { 
    background: #2c3e50; 
    color: #ecf0f1; 
    padding: 12px; 
    margin: 10px 0; 
    font-family: "Courier New", monospace;
}
.step { 
    margin: 8px 0; 
    padding-left: 5px;
}
table { 
    width: 100%; 
    border-collapse: collapse; 
    margin: 15px 0;
    font-size: 11pt;
}
th, td { 
    border: 1px solid #ddd; 
    padding: 8px; 
    text-align: left;
}
th { 
    background: #3498db; 
    color: white;
}
tr:nth-child(even) { 
    background: #f2f2f2;
}
</style>
</head>
<body>
    <div class="container">
        <h1>共享填表系统 - 详细使用手册</h1>
        
        <div class="section">
            <h2>1. 系统简介</h2>
            <p>共享填表系统是一个基于Python开发的局域网数据共享平台，专门设计用于团队协作填表和数据管理。系统具有以下特点：</p>
            <ul>
                <li><strong>多用户支持</strong>：支持多个用户同时访问和编辑数据</li>
                <li><strong>细粒度权限控制</strong>：精确到单元格级别的查看和编辑权限</li>
                <li><strong>跨平台兼容</strong>：支持Windows和Linux操作系统</li>
                <li><strong>实时数据同步</strong>：数据自动保存和同步，避免数据丢失</li>
                <li><strong>无需数据库</strong>：使用CSV文件存储数据，简单易维护</li>
                <li><strong>多行文本支持</strong>：单元格支持多行文本，类似Excel体验</li>
            </ul>
        </div>
        
        <div class="section">
            <h2>2. 系统要求</h2>
            <table>
                <tr>
                    <th>项目</th>
                    <th>要求</th>
                    <th>说明</th>
                </tr>
                <tr>
                    <td>Python版本</td>
                    <td>Python 3.4+</td>
                    <td>仅使用Python标准库，无需安装额外依赖</td>
                </tr>
                <tr>
                    <td>操作系统</td>
                    <td>Windows 7+/Linux</td>
                    <td>支持跨平台运行</td>
                </tr>
                <tr>
                    <td>浏览器</td>
                    <td>Chrome/Firefox/Edge</td>
                    <td>推荐使用现代浏览器</td>
                </tr>
                <tr>
                    <td>网络环境</td>
                    <td>局域网</td>
                    <td>系统在局域网内运行，支持多用户同时访问</td>
                </tr>
            </table>
        </div>
        
        <div class="section">
            <h2>3. 快速开始</h2>
            
            <h3>3.1 启动系统</h3>
            <div class="step">1. 确保已安装Python 3.4或更高版本</div>
            <div class="step">2. 将系统文件放在合适的目录</div>
            <div class="step">3. 打开命令提示符或终端，进入系统所在目录</div>
            <div class="step">4. 运行命令：<span class="code">python table_system.py</span></div>
            <div class="step">5. 系统启动后，会显示访问地址，如：<span class="code">http://192.168.1.100:8000</span></div>
            
            <div class="note">
                <strong>提示：</strong>首次运行时会自动创建演示数据库(demo)，包含示例数据和用户账号。
            </div>
            
            <h3>3.2 访问系统</h3>
            <div class="step">1. 在浏览器中输入系统显示的访问地址</div>
            <div class="step">2. 系统会显示登录页面</div>
            <div class="step">3. 选择数据库、输入用户名和密码</div>
            <div class="step">4. 点击"登录"按钮进入系统</div>
        </div>
        
        <div class="section">
            <h2>4. 用户账号和权限</h2>
            
            <div class="user-list">
                <h3>4.1 默认演示账号</h3>
                <p><strong>管理员账号：</strong>admin / 1234</p>
                <ul>
                    <li>可以查看和编辑所有单元格</li>
                    <li>可以重启系统</li>
                    <li>拥有最高权限</li>
                </ul>
                
                <p><strong>经理账号：</strong>manager / 1111</p>
                <ul>
                    <li>可以查看所有数据</li>
                    <li>可以编辑部分单元格（根据权限设置）</li>
                    <li>无法重启系统</li>
                </ul>
                
                <p><strong>普通用户账号：</strong>user / 2222</p>
                <ul>
                    <li>只能查看有权限的数据</li>
                    <li>无法编辑任何单元格</li>
                    <li>无权限的单元格显示为"***"</li>
                </ul>
            </div>
            
            <h3>4.2 权限系统说明</h3>
            <p>系统的权限控制非常精细，可以精确到每个单元格：</p>
            <ul>
                <li><strong>查看权限(view.csv)</strong>：控制用户能否看到某个单元格的内容</li>
                <li><strong>编辑权限(edit.csv)</strong>：控制用户能否编辑某个单元格的内容</li>
                <li><strong>权限继承</strong>：拥有编辑权限的用户自动拥有查看权限</li>
                <li><strong>权限判断顺序</strong>：先检查编辑权限 → 再检查查看权限 → 否则显示"***"</li>
            </ul>
            
            <div class="note">
                <strong>注意：</strong>权限配置文件(view.csv和edit.csv)可以使用文本编辑器直接修改，修改后需要重启系统生效。
            </div>
        </div>
        
        <div class="section">
            <h2>5. 功能详解</h2>
            
            <h3>5.1 数据编辑</h3>
            <div class="step">1. <strong>识别可编辑单元格</strong>：可编辑的单元格显示为浅蓝色背景</div>
            <div class="step">2. <strong>开始编辑</strong>：双击浅蓝色单元格打开编辑对话框</div>
            <div class="step">3. <strong>输入内容</strong>：在文本框中输入或修改内容</div>
            <div class="step">4. <strong>支持多行文本</strong>：按Enter键可以在单元格内换行</div>
            <div class="step">5. <strong>保存更改</strong>：点击"保存"按钮保存</div>
            <div class="step">6. <strong>取消编辑</strong>：点击"取消"按钮或按ESC键取消</div>
            
            <div class="note">
                <strong>提示：</strong>编辑后的数据会自动保存到内存中，并定期同步到CSV文件（约10秒间隔）。
            </div>
            
            <h3>5.2 密码修改</h3>
            <div class="step">1. 登录系统后，点击页面顶部的"修改密码"链接</div>
            <div class="step">2. 输入原密码、新密码和确认密码</div>
            <div class="step">3. 点击"修改密码"按钮</div>
            <div class="step">4. 修改成功后会自动使用新密码重新登录</div>
            
            <div class="warning">
                <strong>重要：</strong>请妥善保管密码，系统管理员无法查看或重置用户密码。
            </div>
            
            <h3>5.3 系统重启（仅管理员）</h3>
            <div class="step">1. 使用admin账号登录系统</div>
            <div class="step">2. 点击页面顶部的"重启系统"按钮</div>
            <div class="step">3. 在确认页面点击"确认重启"</div>
            <div class="step">4. 系统会显示重启提示，并在3-5秒后自动刷新页面</div>
            
            <div class="warning">
                <strong>警告：</strong>重启系统会终止当前服务器进程并启动新进程，重启期间用户无法访问系统。
            </div>
        </div>
        
        <div class="section">
            <h2>6. 数据管理</h2>
            
            <h3>6.1 文件结构</h3>
            <p>每个数据库都是一个独立的文件夹，包含以下文件：</p>
            <table>
                <tr>
                    <th>文件名</th>
                    <th>用途</th>
                    <th>说明</th>
                </tr>
                <tr>
                    <td>data.csv</td>
                    <td>主数据表</td>
                    <td>存储表格的主要数据内容</td>
                </tr>
                <tr>
                    <td>user.csv</td>
                    <td>用户账号</td>
                    <td>存储用户名和密码</td>
                </tr>
                <tr>
                    <td>view.csv</td>
                    <td>查看权限</td>
                    <td>控制每个单元格的查看权限</td>
                </tr>
                <tr>
                    <td>edit.csv</td>
                    <td>编辑权限</td>
                    <td>控制每个单元格的编辑权限</td>
                </tr>
                <tr>
                    <td>log.csv</td>
                    <td>操作日志</td>
                    <td>记录用户的重要操作</td>
                </tr>
            </table>
            
            <h3>6.2 数据同步</h3>
            <p>系统采用智能数据同步机制：</p>
            <ul>
                <li><strong>内存缓存</strong>：数据加载到内存中，提高访问速度</li>
                <li><strong>自动同步</strong>：修改后的数据每10秒自动同步到CSV文件</li>
                <li><strong>手动同步</strong>：访问 <span class="code">/sync</span> 可以立即同步所有数据</li>
                <li><strong>退出同步</strong>：关闭服务器时自动同步所有未保存的数据</li>
            </ul>
            
            <div class="note">
                <strong>最佳实践：</strong>在进行重要操作前，建议访问 <span class="code">http://服务器地址:8000/sync</span> 手动同步数据。
            </div>
        </div>
        
        <div class="section">
            <h2>7. 高级功能</h2>
            
            <h3>7.1 创建新数据库</h3>
            <div class="step">1. 在系统的db目录下创建新的文件夹，如"sales"</div>
            <div class="step">2. 在新文件夹中创建所需的CSV文件（data.csv、user.csv等）</div>
            <div class="step">3. 按照现有文件的格式填写内容</div>
            <div class="step">4. 重启系统，新数据库会出现在登录页面的数据库列表中</div>
            
            <h3>7.2 权限配置</h3>
            <p>权限文件(view.csv和edit.csv)的配置规则：</p>
            <ul>
                <li><strong>*</strong>：表示所有用户都有权限</li>
                <li><strong>username</strong>：指定具体用户有权限</li>
                <li><strong>user1,user2,user3</strong>：多个用户用逗号分隔</li>
                <li>权限文件的行列结构与data.csv完全对应</li>
            </ul>
            
            <div class="code">
# view.csv 示例<br>
*,*,*,*,*<br>
*,*,*,*,admin,manager<br>
*,*,*,*,admin,manager<br>
*,*,*,*,admin,manager<br>
*,*,*,*,admin,manager
            </div>
        </div>
        
        <div class="section">
            <h2>8. 故障排除</h2>
            
            <h3>8.1 常见问题</h3>
            
            <p><strong>问题1：系统启动失败</strong></p>
            <ul>
                <li>检查Python版本是否为3.4或更高</li>
                <li>检查端口8000是否被其他程序占用</li>
                <li>检查是否有文件读写权限</li>
            </ul>
            
            <p><strong>问题2：无法登录</strong></p>
            <ul>
                <li>检查用户名和密码是否正确</li>
                <li>检查选择的数据库是否存在</li>
                <li>检查user.csv文件格式是否正确</li>
            </ul>
            
            <p><strong>问题3：无法编辑单元格</strong></p>
            <ul>
                <li>检查用户是否有编辑权限</li>
                <li>检查edit.csv文件配置是否正确</li>
                <li>尝试刷新页面重新登录</li>
            </ul>
            
            <p><strong>问题4：中文显示乱码</strong></p>
            <ul>
                <li>确保CSV文件使用正确的编码（GBK或UTF-8）</li>
                <li>检查浏览器编码设置</li>
                <li>重启系统重新加载数据</li>
            </ul>
            
            <h3>8.2 数据备份</h3>
            <p>建议定期备份db目录下的所有数据：</p>
            <div class="step">1. 停止系统运行</div>
            <div class="step">2. 复制整个db目录到安全位置</div>
            <div class="step">3. 也可以单独备份重要的数据库文件夹</div>
        </div>
        
        <div class="section">
            <h2>9. 技术信息</h2>
            
            <h3>9.1 系统架构</h3>
            <ul>
                <li><strong>后端</strong>：Python 3.4+，使用标准库http.server</li>
                <li><strong>前端</strong>：HTML + CSS + JavaScript（原生）</li>
                <li><strong>数据存储</strong>：CSV文件，支持GBK和UTF-8编码</li>
                <li><strong>并发控制</strong>：使用线程锁确保数据安全</li>
            </ul>
            
            <h3>9.2 编码支持</h3>
            <p>系统自动处理不同编码的CSV文件：</p>
            <ul>
                <li>自动检测文件编码（UTF-8、GBK等）</li>
                <li>新创建的数据库默认使用UTF-8编码</li>
                <li>现有数据库保持原有编码</li>
                <li>网页统一使用UTF-8编码显示</li>
            </ul>
        </div>
        
        <p style="text-align: center; margin-top: 30px; color: #666; border-top: 1px solid #ddd; padding-top: 20px;">
            共享填表系统 - 简单实用的团队协作工具
        </p>
    </div>
</body>
</html>